public class code03 {
//    力扣 150 二叉树的最小绝对差
    int nodeVal = -1;
    int sum = Integer.MAX_VALUE;

    public int getMinimumDifference(TreeNode root) {
        // 这道题目的要求是，任意两节之间的最小差值
        // 首先定义两个变量分别记录最小值和当前的节点的值

        // 便利数组实现对值的确定
        dfs(root);
        return sum;
    }

    // 这里必须使用的是中序遍历
    private void dfs(TreeNode node) {
        // 设定递归返回条件
        if (node == null) {
            return;
        }

        dfs(node.left);
        // 实现核心算法
        if (nodeVal == -1) {
            nodeVal = node.val;
        } else {
            sum = Math.min(sum, node.val - nodeVal);
            nodeVal = node.val;
        }
        dfs(node.right);
    }
}
